home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / MISC / BM192A.ZIP / HEADER.S < prev    next >
Encoding:
Text File  |  1996-02-21  |  10.2 KB  |  331 lines

  1. *=======================================================*
  2. *    Program header:    latest update 21/11/95        *
  3. *=======================================================*
  4.  
  5. *-------------------------------------------------------*
  6. *    Player attributes                *
  7. *-------------------------------------------------------*
  8.  
  9. player_height        =    40    ; player head-height
  10. player_speed        =    16    ; movement velocity
  11. turn_speed        =    $800    ; turning velocity
  12.  
  13. *-------------------------------------------------------*
  14. *    Display engine constants            *
  15. *-------------------------------------------------------*
  16.  
  17. max_xres        =    320    
  18. max_yres        =    240
  19.  
  20. vbilock            =    1    ; minimum vblanks before pageswap
  21.  
  22. window_max        =    1<<10
  23.  
  24. ZMIN            =    12    ; minimum clipping Z
  25.  
  26. UPPER_TYPE        =    0    ; wall definition codes
  27. WALL_TYPE        =    1
  28. LOWER_TYPE        =    2
  29.  
  30. maxwallruns        =    4096    ; reserve space for wall runs
  31. max_xint        =    64    ; be careful when modifying these as a few
  32. max_yint        =    64    ; mults have been optimised using shifts instead.
  33.  
  34. attrib_twosided        =    1<<2    ; twosided flag-mask
  35.  
  36. terminator        =    -1    ; general list-terminator
  37.  
  38. *-------------------------------------------------------*
  39. *    Memory allocation codes                *
  40. *-------------------------------------------------------*
  41.             rsreset
  42. *-------------------------------------------------------*
  43. STRAM_only        rs.b    1
  44. VRAM_only        rs.b    1
  45. STRAM_preferred        rs.b    1
  46. VRAM_preferred        rs.b    1
  47.  
  48. *-------------------------------------------------------*
  49. *    Wall-run ministructure                *
  50. *-------------------------------------------------------*
  51.             rsreset
  52. *-------------------------------------------------------*
  53. wall_i:            rs.w    1
  54. wall_j1:        rs.b    1
  55. wall_j2:        rs.b    1
  56. wall_u:            rs.w    1
  57. wall_dv:        rs.b    3
  58. wall_lum:        rs.b    1
  59. wall_v:            rs.w    1
  60. wall_len:        rs.b    0
  61.  
  62. *-------------------------------------------------------*
  63. *    Floor-run ministructure                *
  64. *-------------------------------------------------------*
  65.             rsreset
  66. *-------------------------------------------------------*
  67. flat_lz:        rs.l    1
  68. flat_x1:        rs.w    1
  69. flat_x2:        rs.w    1
  70. flat_len:        rs.b    0
  71.  
  72. *-------------------------------------------------------*
  73. *    Vertex ministructure                *
  74. *-------------------------------------------------------*
  75.             rsreset
  76. *-------------------------------------------------------*
  77. vtx_x:            rs.w    1
  78. vtx_y:            rs.w    1
  79. vtx_len:        rs.b    0
  80.  
  81. *-------------------------------------------------------*
  82. *    Node-vertex ministructure            *
  83. *-------------------------------------------------------*
  84.             rsreset
  85. *-------------------------------------------------------*
  86. nodevtx_y2:        rs.w    1
  87. nodevtx_y1:        rs.w    1
  88. nodevtx_x1:        rs.w    1
  89. nodevtx_x2:        rs.w    1
  90. nodevtx_len:        rs.b    0
  91.  
  92. *-------------------------------------------------------*
  93. *    WAD Header structure                *
  94. *-------------------------------------------------------*
  95.             rsreset
  96. *-------------------------------------------------------*
  97. wh_sig            rs.l    1
  98. wh_entries        rs.l    1
  99. wh_directory        rs.l    1
  100. wh_len            rs.b    0
  101.  
  102. *-------------------------------------------------------*
  103. *    WAD directory structure                *
  104. *-------------------------------------------------------*
  105.             rsreset
  106. *-------------------------------------------------------*
  107. wd_offset        rs.l    1
  108. wd_size            rs.l    1
  109. wd_name            rs.b    8
  110. wd_len            rs.b    0
  111.  
  112. *-------------------------------------------------------*
  113. *    WAD Seg structure                *
  114. *-------------------------------------------------------*
  115.             rsreset
  116. *-------------------------------------------------------*
  117. seg_from:        rs.w    1
  118. seg_to:            rs.w    1
  119. seg_bam:        rs.w    1
  120. seg_linedef:        rs.w    1
  121. seg_sidedef:        rs.w    1
  122. seg_distance:        rs.w    1
  123. seg_len:        rs.b    0
  124.  
  125. *-------------------------------------------------------*
  126. *    WAD Sector structure                *
  127. *-------------------------------------------------------*
  128.             rsreset
  129. *-------------------------------------------------------*
  130. sector_floorht:        rs.w    1
  131. sector_ceilht:        rs.w    1
  132. sector_ftns:        rs.b    8
  133. sector_ctns:        rs.b    8
  134. sector_light:        rs.w    1
  135. sector_special:        rs.w    1
  136. sector_tag:        rs.w    1
  137. sector_len:        rs.b    0
  138.  
  139. *-------------------------------------------------------*
  140. *    WAD SSector structure                *
  141. *-------------------------------------------------------*
  142.             rsreset
  143. *-------------------------------------------------------*
  144. ssec_segments:        rs.w    1    
  145. ssec_first:        rs.w    1
  146. ssec_len:        rs.b    0
  147.  
  148. *-------------------------------------------------------*
  149. *    WAD Sidedef structure                *
  150. *-------------------------------------------------------*
  151.             rsreset
  152. *-------------------------------------------------------*
  153. sidedef_xoff:        rs.w    1
  154. sidedef_yoff:        rs.w    1
  155. sidedef_utns:        rs.b    8
  156. sidedef_ltns:        rs.b    8
  157. sidedef_mtns:        rs.b    8
  158. sidedef_sector:        rs.w    1
  159. sidedef_len:        rs.b    0
  160.  
  161. *-------------------------------------------------------*
  162. *    WAD Linedef structure                *
  163. *-------------------------------------------------------*
  164.             rsreset
  165. *-------------------------------------------------------*
  166. linedef_from:        rs.w    1
  167. linedef_to:        rs.w    1
  168. linedef_attrib:        rs.w    1
  169. linedef_type:        rs.w    1
  170. linedef_tag:        rs.w    1
  171. linedef_right:        rs.w    1
  172. linedef_left:        rs.w    1
  173. linedef_len:        rs.b    0
  174.  
  175. *-------------------------------------------------------*
  176. *    WAD Texture structure                *
  177. *-------------------------------------------------------*
  178.             rsreset
  179. *-------------------------------------------------------*
  180. wt_name:        rs.b    8
  181. wt_null1:        rs.w    1
  182. wt_null2:        rs.w    1
  183. wt_width:        rs.w    1
  184. wt_height:        rs.w    1
  185. wt_null3:        rs.w    1
  186. wt_null4:        rs.w    1
  187. wt_patches:        rs.w    1
  188. wt_len:            rs.b    0
  189.  
  190. *-------------------------------------------------------*
  191. *    WAD Texture patch sub-structure            *
  192. *-------------------------------------------------------*
  193.             rsreset
  194. *-------------------------------------------------------*
  195. wtp_xoff:        rs.w    1
  196. wtp_yoff:        rs.w    1
  197. wtp_index:        rs.w    1
  198. wtp_stepdir:        rs.w    1
  199. wtp_colormap:        rs.w    1
  200. wtp_len:        rs.b    0
  201.  
  202. *-------------------------------------------------------*
  203. *    Texture structure                *
  204. *-------------------------------------------------------*
  205.             rsreset
  206. *-------------------------------------------------------*
  207. tex_name        rs.b    8
  208. tex_index        rs.w    1
  209. tex_width        rs.w    1
  210. tex_height        rs.w    1
  211. tex_patches        rs.w    1
  212. tex_len            rs.b    0
  213.  
  214. *-------------------------------------------------------*
  215. *    Texture patch sub-structure            *
  216. *-------------------------------------------------------*
  217.             rsreset
  218. *-------------------------------------------------------*
  219. texp_xoff        rs.w    1
  220. texp_yoff        rs.w    1
  221. texp_index        rs.w    1
  222. texp_len        rs.b    0
  223.  
  224. *-------------------------------------------------------*
  225. *    WAD Node structure                *
  226. *-------------------------------------------------------*
  227.             rsreset
  228. *-------------------------------------------------------*
  229. node_x:            rs.w    1
  230. node_y:            rs.w    1
  231. node_dx:        rs.w    1
  232. node_dy:        rs.w    1
  233. node_rvtx:        rs.b    0
  234. node_ry2:        rs.w    1
  235. node_ry1:        rs.w    1
  236. node_rx1:        rs.w    1
  237. node_rx2:        rs.w    1
  238. node_lvtx:        rs.b    0
  239. node_ly2:        rs.w    1
  240. node_ly1:        rs.w    1
  241. node_lx1:        rs.w    1
  242. node_lx2:        rs.w    1
  243. node_right:        rs.w    1    
  244. node_left:        rs.w    1
  245. node_len:        rs.b    0
  246.  
  247. *-------------------------------------------------------*
  248. *    General display structure            *
  249. *-------------------------------------------------------*
  250.             rsreset
  251. *-------------------------------------------------------*
  252. display_sina:        rs.w    1    ; sin(pangle)
  253. display_cosa:        rs.w    1    ; cos(pangle)
  254. display_px:        rs.w    1    ; px
  255. display_py:        rs.w    1    ; py
  256. display_width:        rs.w    1    ; window x-size
  257. display_height:        rs.w    1    ; window y-size
  258. display_rheight:    rs.w    1    ; window y-size (ratio)
  259. display_hwid:        rs.w    1    ; window x-size/2
  260. display_hhig:        rs.w    1    ; window y-size/2
  261. display_hscale:        rs.w    1    ; window x-scale
  262. display_vscale:        rs.w    1    ; window y-scale
  263. display_imin:        rs.l    1    ; projected node min-x
  264. display_imax:        rs.l    1    ; projected node max-x
  265. display_segbase:    rs.w    1    ; initial seg index for ssector
  266. display_segnum:        rs.w    1    ; seg count for ssector
  267. display_nodes:        rs.l    1    ; node-array
  268. display_segs:        rs.l    1    ; seg-array
  269. display_sectors:    rs.l    1    ; sector-array
  270. display_ssectors:    rs.l    1    ; ssector-array
  271. display_sidedefs:    rs.l    1    ; sidedef-array
  272. display_linedefs:    rs.l    1    ; linedef-array
  273. display_vertices:    rs.l    1    ; vertex-array
  274. display_len:        rs.b    0
  275.  
  276. *-------------------------------------------------------*
  277. *    AddWall local variable structure        *
  278. *-------------------------------------------------------*
  279.             rsreset
  280. *-------------------------------------------------------*
  281. addwall_tex:        rs.l    1    ; wall texture ID
  282. addwall_i1:        rs.l    1    ; wall screen-x1 (unclipped)
  283. addwall_i2:        rs.l    1    ; wall screen-x2 (unclipped)
  284. addwall_ci2:        rs.l    1    ; wall screen-x2 (clipped)
  285. addwall_y1:        rs.l    1    ; wall top
  286. addwall_y2:        rs.l    1    ; wall bottom
  287. addwall_z1:        rs.l    1    ; wall z1
  288. addwall_z2:        rs.l    1    ; wall z2
  289. addwall_pz1:        rs.l    1    ; wall perspective-z1
  290. addwall_pz2:        rs.l    1    ; wall perspective-z2
  291. addwall_rz1:        rs.l    1    ; wall real-z1
  292. addwall_rz2:        rs.l    1    ; wall real-z2
  293. addwall_y1a:        rs.l    1    ; wall y1 (upper-edge) accumulator
  294. addwall_y2a:        rs.l    1    ; wall y2 (lower-edge) accumulator
  295. addwall_y1i:        rs.l    1    ; wall y1 (top-edge) increment
  296. addwall_y2i:        rs.l    1    ; wall y2 (lower-edge) increment
  297. addwall_tu1:        rs.l    1    ; wall u1
  298. addwall_tu2:        rs.l    1    ; wall u2
  299. addwall_t1:        rs.l    1    ; wall t1
  300. addwall_t2:        rs.l    1    ; wall t2
  301. addwall_ti:        rs.l    1    ; wall t increment
  302. addwall_hi:        rs.l    1    ; high-res (16.16) screen-x (x1)
  303. addwall_hdi:        rs.l    1    ; high-res (16.16) screen-dx (x2-x1)
  304. addwall_width:        rs.w    1    ; window x-size
  305. addwall_height:        rs.w    1    ; window y-size
  306. addwall_rheight:    rs.w    1    ; window y-size (ratio)
  307. addwall_hwid:        rs.w    1    ; window x-size/2
  308. addwall_hhig:        rs.w    1    ; window y-size/2
  309. addwall_hscale:        rs.w    1    ; window x-scale
  310. addwall_vscale:        rs.w    1    ; window y-scale
  311. addwall_runs:        rs.w    1    ; local copy of wall-runs total
  312. addwall_columns:    rs.w    1    ; local copy of column-count
  313. addwall_fc:        rs.w    1    ; floor colour/texture-ID
  314. addwall_cc:        rs.w    1    ; ceiling colour/texture-ID
  315. addwall_opaque:        rs.b    1    ; solid flag for textures with holes
  316. addwall_type:        rs.b    1    ; wall type (upper/lower/main)
  317. addwall_len:        rs.b    0
  318.  
  319. *-------------------------------------------------------*
  320. field_count:        =    10
  321. *-------------------------------------------------------*
  322. *    Leveldata field structure            *
  323. *-------------------------------------------------------*
  324.             rsreset
  325. *-------------------------------------------------------*
  326. field_ascii        rs.l    1
  327. field_module        rs.l    1
  328. field_len        rs.b    0
  329.  
  330. *-------------------------------------------------------*
  331.